Computing environments take many forms. As an example, organizations often utilize networks of computing devices to provide a robust set of services to their users. Networks often span multiple geographic boundaries and often connect with other networks. An organization, for example, may support its operations using both internal networks of computing resources and computing resources managed by others. Computers of the organization, for instance, may communicate with computers of other organizations to access and/or provide data while using services of another organization. In many instances, organizations configure and operate remote networks using hardware managed by other organizations, thereby reducing infrastructure costs and achieving other advantages.
While diverse computing environments have proven useful for a wide variety of applications, such environments present many challenges. For example, configuring computer resources in furtherance of one organizational goal can adversely affect furtherance of another organizational goal. For example, effective management of computing resource security can often come at the cost of efficient access to data and services. Balancing the goals of security and efficiency can be quite challenging, often requiring significant effort and resources. In addition, the growing complexity of configurations of computing resources can provide numerous vulnerabilities. Effective management of these vulnerabilities while maintaining ease of use from the user perspective can be very difficult.